package com.coderman.infosys.auth.api.dto.sdk;

import com.coderman.infosys.plat.auth.common.dto.BaseResponseDTO;
import lombok.Data;

import java.util.List;
import java.util.Map;

/**
 * Description:从角色维度的权限聚合模型
 * date: 2022/1/9
 *
 * 这里有两个场景
 * 1.这个指定的角色没有被任何角色组关联
 * 2.这个指定的角色已经被角色组关联
 *
 * 此时如果角色组有权限，角色本身也有权限，可能就需要做合并了，或者走个优先级
 * 或者业务上就不允许这么做
 * @author shenshuai
 * @version 1.0.0
 * @since JDK 1.8
 */
@Data
public class RoleAuthorityDTO  extends BaseResponseDTO {
    /**
     * 角色编码
     */
    private String roleCode;

    /**
     * 角色关联了哪些用户ID
     */
    private List<Long> userIdList;

    /**
     * 该角色被哪些角色组关联
     */
    private List<String> roleGroupCodeList;


    /**
     * 系统-菜单-按钮权限列表
     */
    private Map<String, Map<String, List<String>>> systemCodeMap;

    /**
     * 应用-表-字段按钮权限列表
     */
    private Map<String, Map<String, List<String>>> dataColumnMap;


    /**
     * 部门权限
     */
    private List<Long> departIdList;


    /**
     * 省-城市-县权限列表
     */
    private Map<String, Map<String, List<String>>> addressMap;


    /**
     * 职位权限
     */
    private List<Long> jobIdList;

}
